#include "key.h"

void Key_Config(void)
{
	GPIO_InitTypeDef  GPIO_InitStructure;
 	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_5;	 
 	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 	GPIO_Init(GPIOB, &GPIO_InitStructure);	
 	GPIO_SetBits(GPIOB,GPIO_Pin_8 | GPIO_Pin_5);
	
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;	 
 	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 	GPIO_Init(GPIOA, &GPIO_InitStructure);	
 	GPIO_SetBits(GPIOA,GPIO_Pin_0 | GPIO_Pin_1);
	
	
}

//u8 key_scan(void) //return 1-up 2-down 3-right
//{
//	static u8 key_up = 1;
//	if(key_up && (GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8) == 0 || GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5) == 0 
//					|| GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) == 0 || GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1) == 0))
//	{
//		key_up = 0;
//		Delay_Ms(20);
//		if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) == 0) return 1;
//		else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5) == 0) return 2;
//		else if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1) == 0) return 3;
//	}
//	else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8) == 1 || GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5) == 1 
//					|| GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) == 1 || GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1) == 1) key_up = 1;
//	return 0;
//}


